home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 March / EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso / earcd / library / ulib4271.lha / UnpackLib / UnpackLib_History < prev    next >
Text File  |  1995-11-12  |  11KB  |  327 lines

  1. ***************************************************************************
  2. *                     HISTORY FOR THE UNPACK.LIBRARY                      *
  3. ***************************************************************************
  4.  
  5.         Unpack.library V42.71
  6.  
  7.         The unpack.library was coded by Thomas Neumann alias Tax of
  8.         Access for SHI (Safe Hex International).
  9.  
  10.         See also the doc file for more information about this library.
  11.  
  12. ***************************************************************************
  13. *                    Ideas coming up in newer versions                    *
  14. ***************************************************************************
  15.  
  16. - Detect more crunchers, ofcourse :-)
  17.  
  18. ***************************************************************************
  19. *                              New functions                              *
  20. ***************************************************************************
  21.  
  22. V34.1   upTestHunk(), upUnpackNum(), upUnpackList() & upUnpackListNext()
  23. V34.20  upLoadFile(), upFreeFile()
  24. V36.30  upUseDrive(), upUnuseDrive(), upSendCmd()
  25. V37.32  upNewUnpackNum()
  26. V42.70  upGetUnpacker()
  27.  
  28. ***************************************************************************
  29. *                         BUG Report and changes                          *
  30. ***************************************************************************
  31.  
  32. V34.1
  33. -----
  34.  
  35. Nico  François  has  changed  the Hunk_Reloc32 structure in his PowerPacker
  36. V4.0. I haven't noticed it before, so when you decrunch a V4.0 Object file,
  37. you will get a defect object file. This is fixed now.
  38.  
  39. Moved  the  UI_CrunchLen in the info structure from the private area to the
  40. user area and added a UI_CrunchLenTemp at the old place instead.
  41.  
  42. V34.11
  43. ------
  44.  
  45. When  you  decrunch  a  file and there isn't enought memory, the error flag
  46. didn't indicate a memory error. This is fixed now.
  47.  
  48. V34.20
  49. ------
  50.  
  51. A new bit in the UI_CrunchType are implemented. It's bit number 7. This bit
  52. indicates  if  the file are encrypted, like PowerPacker encryption. If set,
  53. it's an encrypted file.
  54.  
  55. When the Unpack() function calls the TestHunk() function and the TestHunk()
  56. returns  an error, the computer makes a system failure. (I forgot to return
  57. a value from the stack :-(
  58.  
  59. A little bug fixed in the TestHunk() function.
  60.  
  61. A NOTE TO Nico François:
  62. ------------------------
  63.  
  64. I  think  there  are  a  bug  in your PowerPacker when you handle overlayed
  65. files.  I  have  try  with  an  old  version  of DeluxePaint III and in the
  66. unpacked file the header says there are 12 hunks, where the first three are
  67. loaded  first  and the rest are overlays. Then I crunch it with PowerPacker
  68. and  your  decruncher  have  only  2  hunks  to  be loaded and the rest are
  69. overlays,  but  the  header  still  says there are 12 hunks!!! (Tested with
  70. PowerPacker V4.2).
  71.  
  72. The  Determine()  function  have  some  problems  with Imploder 4.0 library
  73. header. This should be fixed now.
  74.  
  75. There  was  a  bug  in the delete routine in the filepack unpacker. It goes
  76. into  a  never  ending  loop if it tries to delete a directory there are in
  77. use,  for  example  if  you  have  an assign to a directory and then try to
  78. delete  it,  the  routine goes into the loop. This is fixed, I just have to
  79. test the DOS error number for number 202 (Object in use).
  80.  
  81. A little bug in the UnpackListNext() function are fixed.
  82.  
  83. V34.21
  84. ------
  85.  
  86. Compressor Crackings Inc. cruncher are changed to TNM Cruncher.
  87.  
  88. V35.22
  89. ------
  90.  
  91. A  bug  in  the  LHA  unpacker  routine  fixed. It didn't check for the LHA
  92. program failed.
  93.  
  94. The NoFree bit in the UI_Flag has been born.
  95.  
  96. Added a UserData field in the info structure.
  97.  
  98. A  little  bug  in the LoadFile() function fixed. Didn't free the memory if
  99. there occurs an error when reading the file.
  100.  
  101. The file currupt error implemented.
  102.  
  103. A bug in the Titantic Decruncher fixed.
  104.  
  105. When  you  try to decrunch a LHA file, you have to open a CLI window first.
  106. This  is  because  when  I  call  the  Execute()  function, I give zero for
  107. standard  input  and  output.  Now  I  open  the  NIL:  first  and use this
  108. filehandler.  If  you  still find any errors with the LHA unpacker routine,
  109. please contact me.
  110.  
  111. V36.30
  112. ------
  113.  
  114. A bug in the powerpacker decruncher routine fixed. Couldn't handle BSS_Hunk
  115. correctly.
  116.  
  117. The code in the library are rotated and optimized some places.
  118.  
  119. Cache clearing are implemented.
  120.  
  121. I forgot to put the UI_UserData field in A1 when unpacking archive files.
  122.  
  123. Added  some new fields in the info structure and a few new functions so the
  124. programmer easy can unpack track-crunched files.
  125.  
  126. V36.31
  127. ------
  128.  
  129. A bug in the determine routine for the Double Action cruncher fixed.
  130.  
  131. Doc's are fixed and removed into different directories.
  132.  
  133. V37.32
  134. ------
  135.  
  136. The  CLI  command  version will now work. I don't know how long time I have
  137. used to fix this bug. It was just a stupid 'V' before the version number in
  138. the ID string :^<
  139.  
  140. The  Gnu  Packer  numbers  are changed a bit, see the include file for more
  141. information.
  142.  
  143. Woooow!!!  I  have  optimized the DetermineFile() function a lot, so now is
  144. must faster and fill about 1.5K less than the old one!!!! Isn't that great?
  145. 8-O
  146.  
  147. An  enforcer  hit  was  detected  in  the old DetermineFile() function, but
  148. this is fixed now in the new function.
  149.  
  150. An ErrorMsg pointer are implemented.
  151.  
  152. The NoLoad flag are implemented and the UI_CrunchAdr field are made public.
  153.  
  154. The   UnpackNum()   function  are  made  OBSOLETE!!!  A  new  function  are
  155. implemented so the C programmers can use this function.
  156.  
  157. The  UnpackListNext()  function  returns now a zero in A1 when there are no
  158. more crunchers in the list.
  159.  
  160. A big bug fixed in the StoneCracker 2.92-2.99d unpacker routine.
  161.  
  162. A  little  bug  fixed in the Crunch Mania Reloc unpacker routine and in the
  163. determine routine.
  164.  
  165. A giga bug fixed in the TurboSqueeze 8.0 unpacker routine. Didn't reloc the
  166. file.
  167.  
  168. V38.40
  169. ------
  170.  
  171. I major bug fixed in the PowerPacker decruncher. Couldn't handle hunks with
  172. a length of 0.
  173.  
  174. Added the protection bit in the UI_Flag.
  175.  
  176. The Unpack() function are made recursive. See docs for more info.
  177.  
  178. The Defjam32 Label changed to Defjam36.
  179.  
  180. Added the UI_LhaPattern pointer to the info structure.
  181.  
  182. V39.50
  183. ------
  184.  
  185. A bug fixed in the PowerPacker V3.0 unpacker routine.
  186.  
  187. A  major  bug  fixed  in  the recursive routine. The whole Archive scanning
  188. routine are rewritten. See new example of how to make an unpacker routine.
  189.  
  190. The UI_UseFilenamePointer flag are implemented.
  191.  
  192. Now  will  the  DetermineFile() function only change the protection bits if
  193. the R,W,E or D bits are NOT set, instead of always change them.
  194.  
  195. V39.51
  196. ------
  197.  
  198. A bug fixed in the AllocCInfo() functions. Didn't save the A2 register :(.
  199.  
  200. If  you set the UI_Path to zero, a copy are made from address zero instead
  201. of skipping it.
  202.  
  203. A big thanks to Gabriele Greco for his bug letter!! The first bug you write
  204. about  the  UnpackList()  & UnpackListNext() functions was the whole bug in
  205. the  library!!!  If  you  look at my info structure, you will notice that I
  206. have  a  BOOL  datatype  and under that a UBYTE. The only reason I have the
  207. UBYTE as a pad, its I throught that the BOOL was 8 bit, but it isn't, is 16
  208. bit!! That means, all the other datatypes under the UBYTE will be stored at
  209. odd  addresses,  and  that  wouldn't  work on a 68000. So big thanks to you
  210. Gabriele :-).
  211.  
  212. Well,  I  think  there  are  a bug in the OneFile mode of the Lha unpacking
  213. routine, because I have seen a SnoopDos log file where the name the library
  214. should  unpack  are  garbage.  I have looked at it, and I couldn't find any
  215. errors.  Maybe  it  had something about caches, so I implement a ClearCache
  216. routine  between  I  have  read  from  the  lha  file and begin to copy the
  217. filename from it.
  218.  
  219. V39.52
  220. ------
  221.  
  222. Some Enforcer hits removed from the Determine Function.
  223.  
  224. Optimized a little bit around in the library.
  225.  
  226. Fixed  the  LHA unpacker. It should work now. It was some problems with the
  227. LHA  extract  output  file reader. Sometimes it reach a wrong place and try
  228. to  open  a  file  with  that name, which a "Please Insert Volume Extract:"
  229. requester will appear.
  230.  
  231. V39.53
  232. ------
  233.  
  234. Fixed  a  minor  bug  in  the lha extract routine. Now it should handle the
  235. display files (the files with the name "*") currently.
  236.  
  237. Recoded the TestHunk() function. Sometimes it says a file with overlays was
  238. defect. Now it should work.
  239.  
  240. I  have set a indentifier in front of all the functions call. The functions
  241. work  as  they always have do, but instead of write Unpack(a6), you have to
  242. write upUnpack(a6).
  243.  
  244. Fixed  a bug in the Determine() function. Couldn't indentify Imploder files
  245. currently.
  246.  
  247. Thanks to Erik Løvendahl for the bug report file.
  248.  
  249. V39.54
  250. ------
  251.  
  252. Well, only one thing is changed in this version, and that is if the library
  253. get  some  kind of an error when unpacking lha archives, it will not delete
  254. any  files  there are unpacked if the delete flag is on. This is changed so
  255. it  now  delete  all  the  files even if it got some error. Notice that the
  256. library  will not jump through the jump vector if it got some error. Thanks
  257. to John Veldthuis for telling me about this little bug.
  258.  
  259. V40.55
  260. ------
  261.  
  262. Added the PowerPacker 2.x Master decruncher.
  263.  
  264. Now you can see if a file is encrypted after the Determine() function.
  265.  
  266. Removed all xpk decrunches and made it so  it  uses  the  xpkmaster.library
  267. instead.
  268.  
  269. V40.56
  270. ------
  271.  
  272. Fixed  a  little  bug  in  all  the  PowerPacker  decrunchers I made when I
  273. implemented the PowerPacker 2.x Master decruncher.
  274.  
  275. The Determine() and Unpack() function are more intelligent :-)
  276.  
  277. V40.57
  278. ------
  279.  
  280. The Mega Cruncher 1.2 Reloc is now fixed. It will create a real object file
  281. now.
  282.  
  283. There is TWO different StoneCracker 2.99 decrunchers and the old version of
  284. unpack.library  only  decrunchs  type  1 and if it found type 2 it crashes.
  285. This is fixed now.
  286.  
  287. V41.60
  288. ------
  289.  
  290. Added the LZX archive packer.
  291.  
  292. Okay Michael, here is your bit :) The UFB_NoA4 is implemented.
  293.  
  294. V42.70-42.71
  295. ------------
  296.  
  297. A lot of things has happend in this version. It's totally rewritten and the
  298. most  of  the  decrunchers  are  made more safe, which means if the data is
  299. corrupted,  it  will  not  decrunch more data than the allocated size (less
  300. crashes  :). A lot of new decrunchers are also added plus the determine and
  301. decruncher routines are made more intelligent. There is a program around, I
  302. don't  know  what  it's called, but you can add an extra hunk at the end of
  303. your  object  file  with a description text. Now unpack.library will see if
  304. there  is such a hunk, and if there is, it will remove it (in memory only).
  305. This means a lot of decrunchers won't crash anymore with these files.
  306.  
  307. Added the UFB_ChipMem bit. Thanks for the idea Marcus.
  308.  
  309. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  310.  
  311. If you find any bugs, then feel free to contact me on this address:
  312.  
  313.                              Thomas Neumann
  314.                              Kongensgade 78
  315.                              3550 Slangerrup
  316.                              Denmark
  317.  
  318.                Or by E-Mail: tax@fiol.nbrock.dk
  319.  
  320. ***************************************************************************
  321. *                                                                         *
  322. ***************************************************************************
  323.  
  324.           Have fun with this library, signed
  325.  
  326.           Thomas Neumann, member of the SHI Anti Virus Group.
  327.